package com.mz.mattress.client.service;

import com.mz.mattress.api.common.Result;
import com.mz.mattress.api.entity.OrderUseTimes;
import com.mz.mattress.api.enums.DeviceOptionEnum;
import com.mz.mattress.client.api.resp.DeviceStatusResp;

public interface MattressMsgService {

//    检测状态：1122 0001   //01表示正在检测
//            1122 0002   //02表示检测数据异常，请确认检测仪与手指接触正常！！ 
//            1122 0003   //03未检测到数据，请确认检测仪与主机连接正常！！！
//    心率：     1123 0001   //心率范围0-250，心率<60心动过缓,60-100心率正常，>100心动过速 
//    血氧：    1124 0001   //血氧范围0-100，血氧<95血氧低,95-100血氧正常  
//    微循环 ： 1125 0001   //微循环范围0-100，微循环<80微循环低,80-100微循环正常
//    疲劳指数：1126 0001   //疲劳指数范围0-100，疲劳指数<15重度疲劳,15-25之间为轻度疲劳，>25为正常
//    体质结果：1127 0001

    //检测状态 0未检测 1检测中 2数据异常 3未检测到数据 4检测完成
    String INSPECT_STATUS = "1122";

    //心率 心率范围0-250，心率<60心动过缓,60-100心率正常，>100心动过速
    String RATE = "1123";

    //血氧 血氧范围0-100，血氧<95血氧低,95-100血氧正常
    String OXYGEN = "1124";

    //微循环 微循环范围0-100，微循环<80微循环低,80-100微循环正常
    String CYCLE = "1125";

    //疲劳指数 疲劳指数范围0-100，疲劳指数<15重度疲劳,15-25之间为轻度疲劳，>25为正常
    String TIRED = "1126";

    //体质结果
    //1 为完美的平和体质
    //2 为反复感冒的气虚体质
    //3 为畏寒怕冷的阳虚体质
    //4 为口燥咽干的阴虚体质
    //5 为易倦嗜睡的痰湿体质
    //6 为长痘易怒的湿热体质
    //7 为失眠忧郁的气郁体质
    //8 为血脉不畅的血瘀体质
    //9 为易过敏的特禀体质
    String RESULTS = "1127";

//    当前工作状态：00 01 00 00
//    当前工作模式：00 0A 00 01
//    当前设置强度：00 11 00 01
//    当前设置温度：00 21 00 01
//    实时温度：   00 22 00 01
//    当前设置音量：11 1B 00 01

    //当前工作状态
    String WORK_STATUS = "0001";

    //当前工作模式
    String WORK_MODE = "000a";

    //当前设置强度
    String STRENGTH = "0011";

    //当前设置温度
    String TEMPER_SET = "0021";

    //实时温度
    String TEMPER = "0022";

    //当前设置音量
    String VOLUME = "111b";

//    void register(String deviceCode, Long memberId, Integer timesId);

    void register(Long memberId, OrderUseTimes times);

    void unregister(String deviceCode);

    Result process(String message);

    Result<DeviceStatusResp> deviceStatus(Integer timesId);

    //更新设备结束时间
    void updateDeviceProperty(Integer timesId, String endTime, Integer status, DeviceOptionEnum optionEnum, Integer value);

    Result processRecord(Integer id);

    void change();

    void changeData();

}